Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BE] issue18: 스터디 제목으로 검색 #24

Merged
merged 3 commits into from
Jul 6, 2022

Conversation

verus-j
Copy link
Collaborator

@verus-j verus-j commented Jul 6, 2022

요약

스터디를 단순 문자열로 검색하는 기능을 구현한다.

세부 설명

검색 키워드의 앞 뒤 공백을 제거한 문자열을 포함하는 제목을 가진 스터디 목록을 조회할 수 있도록 검색 기능을 구현한다.

  • 페이징 정보(페이지, 사이즈)가 없는 경우에는 기본값을 사용한다.
  • 페이징 정보가 하나라도 없는 경우에는 400을 반환
  • 검색 키워드가 공백 문자열인 경우 페이징 정보에 따라서 전체 목록을 조회한다.
  • 검색 키워드 앞 뒤로 공백이 있는 경우 앞 뒤 공백을 제거하고 조회한다.
    • ex) " 자바 " => "자바"가 포함된 스터디 목록들
  • 검색 키워드가 영어인 경우 대소문자를 구분하지 않는다.
  • 그 외에는 검색 키워드가 포함된 스터디 목록을 조회한다.
    • ex) "자바" => "자바"가 포함된 스터디 목록들
    • ex) "자 바" => "자 바"가 포함된 스터디 목록들

Closes #18

@verus-j verus-j added 🚀 feature New feature or request 🖥 backend New backend feature labels Jul 6, 2022
@verus-j verus-j added this to the Milestone 1 milestone Jul 6, 2022
@verus-j verus-j self-assigned this Jul 6, 2022
@verus-j verus-j merged commit d50a0b3 into woowacourse-teams:develop Jul 6, 2022
@verus-j verus-j deleted the feat/18-search-studies branch July 6, 2022 07:44
@nan-noo nan-noo linked an issue Jul 7, 2022 that may be closed by this pull request
6 tasks
@nan-noo nan-noo removed this from the Milestone 1 milestone Jul 7, 2022
verus-j added a commit that referenced this pull request Jul 12, 2022
* chore: 프로젝트 생성

* chore: 프로젝트 세팅

* chore: 프로젝트 설정

1. 스토리북에서 이모션을 인식할 수 있도록 스토리북 웹팩 및 바벨 설정
2. 절대 경로 추가

* feat: theme 적용

emotion ThemeProvider 적용

Co-Authored-By: airman5573 <[email protected]>

* feat: Chip 컴포넌트 구현 및 스토리 작성

Co-Authored-By: airman5573 <[email protected]>

* chore: 절대 경로 추가

* styles
* custom-types

Co-Authored-By: airman5573 <[email protected]>

* feat: Card 컴포넌트 구현 및 스토리 작성

Co-Authored-By: airman5573 <[email protected]>

* refactor: 파일 폴더 이동

Chip story + types.d.ts

Co-Authored-By: airman5573 <[email protected]>

* refactor: Chip 스타일 파일 분리

Co-Authored-By: airman5573 <[email protected]>

* style: Globalstyle 적용

Co-Authored-By: airman5573 <[email protected]>

* feat: StudyChip 컴포넌트 구현

Co-Authored-By: airman5573 <[email protected]>

* feat: StudyCard 컴포넌트 구현 및 스토리 작성

Co-Authored-By: airman5573 <[email protected]>

* chore: pages 절대 경로 추가

* fix: Chip 로직 수정

* feat: MainPage 컴포넌트 구현 및 스토리 작성

Chip, Card, StudyCard 세부 스타일 수정
반응형 그리드 적용

* style: MainPage 그리드 스타일 수정

* feat: 스터디 목록 조회

* test: 스터디 목록 조회 인수 테스트 작성

* feat: 잘못된 페이징 정보로 목록 조회시 400 반환

* chore: spring-boot 버전 다운그레이드

인텔리제이에서 스프링 부트 2.7.1 버전 사용 시 빈을 찾을 수 없는 에러로
인해 2.6.9 버전으로 다운그레이드

* feat: 기본값 페이징 정보로 목록 조회 시 200 반환

* feat: 기본값 페이징 정보로 목록 조회 시 데이터 반환

* refactor: Pageable 적용

* feat: 정상적인 페이징 정보를 통해 스터디 목록 조회

* [FE] Feat/11-header (#20)

* fix: typo 수정

custom-styles를 custom-types로 수정

Co-authored-by: TaeYoon <[email protected]>

* feat: Header 컴포넌트 구현 및 스토리 작성

Header, Logo, Avatar, SearchBar 컴포넌트 구현

Co-authored-by: TaeYoon <[email protected]>

* style: font 추가

기존 폰트에 Bold, ExtraBold, Light 폰트를 추가

Co-authored-by: TaeYoon <[email protected]>

* feat: Home화면 구성

Header와 MainPage 컴포넌트를 App에 결합

Co-authored-by: TaeYoon <[email protected]>

* refactor: css를 붙여 일관성 유지

styled component안에서 theme을 사용할때 css함수를 붙였다. 왜냐하면, 자동완성 기능과 VSC에서 가독성이 더 좋아지기 때문이다.

Co-authored-by: TaeYoon <[email protected]>

Co-authored-by: TaeYoon <[email protected]>

* feat: Header 및 Home Page UI 구현

* fix: typo 수정

custom-styles를 custom-types로 수정

Co-authored-by: TaeYoon <[email protected]>

* feat: Header 컴포넌트 구현 및 스토리 작성

Header, Logo, Avatar, SearchBar 컴포넌트 구현

Co-authored-by: TaeYoon <[email protected]>

* style: font 추가

기존 폰트에 Bold, ExtraBold, Light 폰트를 추가

Co-authored-by: TaeYoon <[email protected]>

* feat: Home화면 구성

Header와 MainPage 컴포넌트를 App에 결합

Co-authored-by: TaeYoon <[email protected]>

* refactor: css를 붙여 일관성 유지

styled component안에서 theme을 사용할때 css함수를 붙였다. 왜냐하면, 자동완성 기능과 VSC에서 가독성이 더 좋아지기 때문이다.

Co-authored-by: TaeYoon <[email protected]>

Co-authored-by: TaeYoon <[email protected]>

* refactor: 테스트 코드 및 패키지 구조 변경 (#23)

인수/통합 테스트는 HTTP 통신과 데이터베이스 상호작용을 함께 검증하는 E2E 테스트로 작성
단위 테스트는 외부적인 요소(HTTP 통신, 데이터베이스 등)을 제외하고 검증하는 가벼운 테스트로 작성
도메인 별로 패키지를 생성하고, 공통으로 사용하는 모듈의 경우 common 패키지에 위치
각 도메인 패키지 하위에 controller, service, domain 패키지 생성하여 관리

close: #22

* [BE] issue18: 스터디 제목으로 검색 (#24)

* test: 검색 관련 인수 테스트 작성

* feat: 키워드로 스터디 목록 검색

* feat: 앞뒤 공백을 제거한 키워드로 스터디 검색

* feat: cors 허용 (#29)

* feat: msw 서버 api 호출 후 렌더링 (#30)

* feat: mocking api 및 data fetch 구현

msw로 mocking api를 구현하고 |axios와 react-query를 사용하여 data fetch를 구현하였다

Co-authored-by: TaeYoon <[email protected]>

* feat: 검색 결과 렌더링

Co-authored-by: TaeYoon <[email protected]>

Co-authored-by: TaeYoon <[email protected]>

* [FE] issue27: 무한 스크롤 기능 추가 (#31)

* feat: mocking api 및 data fetch 구현

msw로 mocking api를 구현하고 |axios와 react-query를 사용하여 data fetch를 구현하였다

Co-authored-by: TaeYoon <[email protected]>

* feat: 검색 결과 렌더링

Co-authored-by: TaeYoon <[email protected]>

* style: 스터디 카드 제목 스타일 수정

일정 길이가 넘으면 ...으로 표현한다

Co-authored-by: TaeYoon <[email protected]>

* style: Footer 컴포넌트 구현

Co-authored-by: TaeYoon <[email protected]>

* perf: StudyCard memoization적용

Co-authored-by: TaeYoon <[email protected]>

* feat: Logo에 link 적용

Co-authored-by: TaeYoon <[email protected]>

* refactor: placeholder 수정

Co-authored-by: TaeYoon <[email protected]>

* refactor: 기본 로드 개수 변경

* refactor: 불필요한 코드 삭제

* refactor: infinite sc구현

* feat: dummy data 추가

* style: footer가 위쪽으로 이동하는 스타일 수정

메인 페이지에서 검색결과가 없거나 카드 데이타가 없을때 main에 최소 높이가 주어지지 않아, footer가 위로 올라오는 현상을 해결하였습니다.

Co-authored-by: TaeYoon <[email protected]>

Co-authored-by: TaeYoon <[email protected]>

* [FE] hotfix: git 충돌 에러 해결 (#32)

* feat: mocking api 및 data fetch 구현

msw로 mocking api를 구현하고 |axios와 react-query를 사용하여 data fetch를 구현하였다

Co-authored-by: TaeYoon <[email protected]>

* feat: 검색 결과 렌더링

Co-authored-by: TaeYoon <[email protected]>

* style: 스터디 카드 제목 스타일 수정

일정 길이가 넘으면 ...으로 표현한다

Co-authored-by: TaeYoon <[email protected]>

* style: Footer 컴포넌트 구현

Co-authored-by: TaeYoon <[email protected]>

* perf: StudyCard memoization적용

Co-authored-by: TaeYoon <[email protected]>

* feat: Logo에 link 적용

Co-authored-by: TaeYoon <[email protected]>

* refactor: placeholder 수정

Co-authored-by: TaeYoon <[email protected]>

* refactor: 기본 로드 개수 변경

* refactor: 불필요한 코드 삭제

* refactor: infinite sc구현

* feat: dummy data 추가

* style: footer가 위쪽으로 이동하는 스타일 수정

메인 페이지에서 검색결과가 없거나 카드 데이타가 없을때 main에 최소 높이가 주어지지 않아, footer가 위로 올라오는 현상을 해결하였습니다.

Co-authored-by: TaeYoon <[email protected]>

* fix: git 충돌 에러 해결

Co-authored-by: TaeYoon <[email protected]>

Co-authored-by: TaeYoon <[email protected]>

* docs: frontend README 파일 생성

로컬 실행 방법 작성

Co-authored-by: Donggyu <[email protected]>
Co-authored-by: airman5573 <[email protected]>
Co-authored-by: TaeYoon <[email protected]>
Co-authored-by: nan-noo <[email protected]>
Co-authored-by: airman5573 <[email protected]>
Co-authored-by: SeungCheol Shin <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🖥 backend New backend feature 🚀 feature New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[BE] 스터디 검색 기능 구현
5 participants